package server;

import java.io.Serializable;
import java.rmi.*;
import java.rmi.registry.LocateRegistry;
import java.rmi.server.*;

import dal.DALFabrica;

import entity.*;
import exceptions.*;


public class BaseImpl implements Base, Serializable {
	private static final long serialVersionUID = 1L;
	
	//Key: Nickname, Value: Object
	private int porta = 0;
	
	public int getPorta() throws RemoteException {
		return porta;
	}

	
	
	public BaseImpl(int umaPorta) throws RemoteException{
		this.porta = umaPorta;
		Base baseServer = (Base)UnicastRemoteObject.exportObject(this,0);
		LocateRegistry.createRegistry(porta).rebind("baseServer", baseServer);
	}



	@Override
	public Produto getProduto(int id) throws RemoteException {
		return DALFabrica.getProdutoDao().getProduto(id);
	}

	@Override
	public Produto[] getProdutos() throws RemoteException, EmptyArrayException {
        return DALFabrica.getProdutoDao().getProdutos();
	}

	@Override
	public boolean insertVenda(Funcionario funcionario, Cliente cliente)
			throws RemoteException {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public int insertedvenda(Funcionario funcionario) throws RemoteException {
		// TODO Auto-generated method stub
		return 0;
	}

	
	
	


}
